Technical Field
The present disclosure generally relates scheduling processing jobs to run in a computer system and, more specifically, to scheduling jobs to run when the computer system has a limited number of job slots.
Related Art
Processing jobs may include any of a variety of actions performed by a computer system. In one example, a computer system runs a platform that provides Customer Relationship Management (CRM) services to end users. The CRM platform may include data updates that take the form of scheduled processing jobs. For instance, when a salesperson creates an opportunity entry in the system but then does not update the opportunity entry for several days, the CRM platform may automatically move the opportunity entry to a queue for another salesperson. The movement of the opportunity entry from one work queue to another is a type of data update that may be handled as a scheduled processing job.
An example of a CRM platform is Sales Cloud™, available from salesforce.com, Inc. Of course, the above-described example is not limiting, as scheduled processing jobs may include other types of data updates and may be performed by computer systems running platforms other than CRM platforms.
Some platforms run by computer systems may be limited in a number of available slots in which to schedule processing jobs. Furthermore, a particular platform may be limited in the number of jobs that can be run concurrently.